﻿using System;
using System.Configuration;
using System.Collections.Generic;
using System.Text;
using Bovespa.Infra.Security;
using Bovespa.Infra.Web.Composite;
using Bovespa.Infra.Web.Composite.Interfaces;
using Bovespa.Sinacor.BaseConhecimento.Shell.VersaoProxy;
using Bovespa.Sinacor.BaseConhecimento.Shell.ProdutoProxy;

namespace Bovespa.Sinacor.BaseConhecimento.Shell.Presenters
{
    /// <summary>
    /// Classe publica de controle do presenter CadastroVersao
    /// </summary>
    public class CadastroVersaoPresenter : Presenter<ICadastroVersao>
    {
        #region Campos

        #endregion

        #region Membros Publicos

        #region Propriedades

        #endregion

        #region Metodos

        /// <summary>
        /// Persiste uma entidade de negocio "Produto".
        /// </summary>
        /// <param name="versao"></param>
        public void InserirVersao(Versao versao)
        {
            using (IVersao servico = GetService<VersaoClient, IVersao>())
            {
                servico.InserirVersao(versao);
            }
        }

        /// <summary>
        /// Recupera uma lista de entidades de negocio "Produto" por hierarquia.
        /// </summary>
        public List<Produto> ConsultarProdutoPorHierarquia()
        {
            using (IProduto servico = GetService<ProdutoClient, IProduto>())
            {
                return servico.ConsultarProdutoPorHierarquia();
            }
        }
        
        /// <summary>
        /// Carrega informacoes iniciais da View
        /// </summary>
        public override void OnViewLoaded()
        {
            base.OnViewLoaded();

            View.EnableAuthorization = false;
            View.EnableMenu = false;
        }

        #endregion

        #endregion

        #region Metodos Privados

        #endregion
    }
}
